﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Data;

namespace prjCompras
{
    public partial class frmConsPedidoCompra : FormConsultaPadrao.FormConsulta
    {
        public frmConsPedidoCompra()
        {
            InitializeComponent();
        }

        public override void tlstrpbtnPesquisar_Click(object sender, EventArgs e)
        {
            sql = @"set dateformat 'dmy';
                    select pc.Codigo Código, 
                           pc.Data, 
                           cp.Nome Pagamento, 
                           SUM(pm.Quantidade * pm.ValorUnitario) Total
                      from PedidoCompra pc,
                           CondicaoPagamento cp,
                           PedidoMaterial pm
                     where pc.CodigoCondicaoPagamento = cp.Codigo
                       and pc.Codigo = pm.CodigoPedido";

            if (chckbxData.Checked)
            {
                sql += " and pc.Data between '" + dtmpckerDataInicio.Value.ToShortDateString() + "' and '" + dtmpckerDataFim.Value.ToShortDateString() + "'";
            }

            if (cmbxCondicaoPagamento.SelectedIndex != 0)
            {
                sql += " and pc.CodigoCondicaoPagamento = " + cmbxCondicaoPagamento.SelectedValue.ToString();
            }

            sql += " group by pc.Codigo, pc.Data, cp.Nome";
            base.tlstrpbtnPesquisar_Click(sender, e);
        }

        private void frmConsPedidoCompra_Load(object sender, EventArgs e)
        {
            string sql_cond = "";

            sql_cond += "select 0 Codigo, 'Todos' Nome";
            sql_cond += " union all";
            sql_cond += " select Codigo, Nome from CondicaoPagamento";

            cmbxCondicaoPagamento.DataSource = Conexao.getInstance.executeQuery(sql_cond);

            cmbxCondicaoPagamento.ValueMember = "Codigo";
            cmbxCondicaoPagamento.DisplayMember = "Nome";

            tlstrpbtnLimpar_Click(sender, e);
            tlstrpbtnPesquisar_Click(sender, e);
        }

        private void chckbxData_CheckedChanged(object sender, EventArgs e)
        {

        }

        private void chckbxData_Click(object sender, EventArgs e)
        {
            grpbxData.Enabled = chckbxData.Checked;
        }

        public override void tlstrpbtnLimpar_Click(object sender, EventArgs e)
        {
            chckbxData.Checked = false;            
            dtmpckerDataInicio.Value = DateTime.Now;
            chckbxData.Checked = false;
            grpbxData.Enabled = false;
            cmbxCondicaoPagamento.SelectedIndex = 0;
            tlstrpbtnPesquisar_Click(null, null);
        }

        public override void dtgrdvwPagina1_SelectionChanged(object sender, EventArgs e)
        {
            string sql_mat = "";
            if (dtgrdvwPagina1.RowCount > 0)
            {
                sql_mat = @"select m.Codigo Código,
                                   m.Nome,
                                   pm.Quantidade,
                                   pm.ValorUnitario
                              from PedidoMaterial pm,
                                   Material m
                             where pm.CodigoMaterial = m.Codigo
                               and pm.CodigoPedido = " + dtgrdvwPagina1.CurrentRow.Cells[0].Value.ToString();
            }
            else
            {
                sql_mat = "select null Código, null Nome, null Quantidade, null ValorUnitario where 1=2";
            }

            dtgrdvwMateriais.DataSource = Conexao.getInstance.executeQuery(sql_mat);
            base.dtgrdvwPagina1_SelectionChanged(sender, e);
        }
    }
}
